home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / system-tools / hdenv / install-hdenv.rexx < prev    next >
OS/2 REXX Batch file  |  1996-04-10  |  3KB  |  73 lines

  1. /*****************************************************************************\
  2.  
  3. $VER: Install-HDEnv.rexx 1.0 (10.4.96)
  4. Copyright (C) 1996 by Michael Fedrowitz
  5.  
  6.     This program is free software; you can redistribute it and/or modify
  7.     it under the terms of the GNU General Public License as published by
  8.     the Free Software Foundation; either version 2 of the License, or
  9.     (at your option) any later version.
  10.  
  11.     This program is distributed in the hope that it will be useful,
  12.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.     GNU General Public License for more details.
  15.  
  16.     You should have received a copy of the GNU General Public License
  17.     along with this program; if not, write to the Free Software
  18.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. \*****************************************************************************/
  21.  
  22. Signal ON IOErr
  23.  
  24. makedir = 0
  25. assign = 0
  26. hdenv = 0
  27.  
  28. IF Open('in','S:Startup-sequence','Read') THEN DO
  29.  
  30.     IF Open('out','T:Startup-sequence','Write') THEN DO
  31.  
  32.         IF Arg(1,'Exists') THEN dir = Arg(1)
  33.         ELSE dir = 'SYS:Env'
  34.  
  35.         DO WHILE ~EOF('in')
  36.             line = ReadLn('in')
  37.             IF (Pos('MAKEDIR',Upper(line)) ~== 0) THEN DO
  38.                 n = Find(Upper(line),'RAM:ENV')
  39.                 IF (n ~== 0) THEN DO
  40.                     makedir = 1
  41.                     line = DelWord(line,n,1)
  42.                     n = Find(Upper(line),'RAM:ENV/SYS')
  43.                     IF (n ~== 0) THEN line = DelWord(line,n,1)
  44.                     line = Trim(line)
  45.                 END
  46.             END
  47.             IF (Pos('ASSIGN',Upper(line)) ~== 0 & makedir & ~assign) THEN DO
  48.                 n = Find(Upper(line),'ENV:')
  49.                 IF (n ~== 0) THEN DO
  50.                     assign = 1
  51.                     s = SubWord(line,n+2)
  52.                     line = DelWord(line,n+1)
  53.                     line = Trim(line) || ' ' || dir || ' ' || s
  54.                     line = Trim(line)
  55.                 END
  56.             END
  57.             IF (Pos('COPY',Upper(line)) == 0 | Pos('ENV',Upper(line)) == 0) THEN WriteLn('out',line)
  58.             IF (Pos('ASSIGN',Upper(line)) == 0 & assign & ~hdenv) THEN DO
  59.                 hdenv = 1
  60.                 WriteLn('out','HDEnv')
  61.                 WriteLn('out','')
  62.             END
  63.         END
  64.     END
  65. END
  66.  
  67. IOErr:
  68.  
  69. Close('in')
  70. Close('out')
  71.  
  72. IF (~hdenv & Exists('T:Startup-sequence')) THEN Address COMMAND 'Delete >NIL: T:Startup-sequence'
  73.